Перейти к основному содержимому

Код JavaScript


Описание.

Этот экшен позволяет выполнять пользовательский JavaScript код и производить арифметические операции с переменными проекта.

Описание


Как добавить в проект?

Через контекстное меню: Добавить действие → Свой код → JavaScript.

Как добавить в проект?


Как работать с экшеном?

Есть два режима работы:

Локально.

Код будет выполнен в изолированном окружении, независимо от открытого приложения и за его пределами.
Этот способ можно использовать для работы с любыми данными, которые поддерживает JS. Например с:

  • переменными,
  • числами,
  • строками.

Описание

При работе в данном режиме не надо указывать ключевое слово return, если собираетесь вернуть какое-то значение. Данный экшен сам вернет результат вычислений из последней строки.
В примере выше в переменную проекта {-Variable.result-} попадёт значение 6, результат выражения 2+2*2.

Протестировать такой код можно с помощью Тестера JavaScript.

Описание

На текущей странице.

Код будет выполнен на открытой странице браузера. Этот способ стоит использовать для работы с DOM-древом, чтобы взаимодействовать с элементами страницы.

При работе в данном режиме открывается доступ ко все объектам текущей страницы. В том числе к подключенным на сайте библиотекам и фреймворкам (например jQuery).


Независимо от выбранного режима

В настройках экшена обязательно должна быть указана переменная, в которую сохранится результат работы. Даже если логика кода не подразумевает возврат значения.


Примеры использования.

Арифметические операции.

Описание
После выполнения этого экшена в переменную result сохранится результат деления переменной height на 2

Подключение JavaScript библиотек.

Можно также встроить на страницу библиотеку, которой изначально не было. Например, с помощью кода добавить jQuery:

int value1 = Convert.ToInt32(project.Variables["value1"].Value);
int value2 = Convert.ToInt32(project.Variables["value2"].Value);
int value3 = value1 + value2; //или value1 - value2 или value1 * value2 и т. д.
return value3.ToString(); //сумма двух чисел